Team, Visitors, External Collaborators
Overall Objectives
Research Program
Application Domains
Highlights of the Year
New Software and Platforms
New Results
Bilateral Contracts and Grants with Industry
Partnerships and Cooperations
Dissemination
Bibliography
XML PDF e-pub
PDF e-Pub


Section: New Results

A fast randomized geometric algorithm for computing Riemann-Roch spaces

Participants : Aude Le Gluher, Pierre-Jean Spaenlehauer [contact] .

In [16], we proposed a probabilistic Las Vegas variant of Brill-Noether's algorithm for computing a basis of the Riemann-Roch space L(D) associated to a divisor D on a projective plane curve 𝒞 over a sufficiently large perfect field k. Our main result shows that this algorithm requires at most O(max(deg(𝒞)2ω,deg(D+)ω)) arithmetic operations in k, where ω is a feasible exponent for matrix multiplication and D+ is the smallest effective divisor such that D+D. This improves the best known upper bounds on the complexity of computing Riemann-Roch spaces. Our algorithm may fail, but we showed that provided that a few mild assumptions are satisfied, the failure probability is bounded by O(max(deg(𝒞)4,deg(D+)2)/|E|), where E is a finite subset of k in which we pick elements uniformly at random. We provide a freely available C++/NTL implementation of the proposed algorithm, and experimental data. In particular, our implementation enjoys a speed-up larger than 9 on several examples compared to the reference implementation in the Magma computer algebra system. As a by-product, our algorithm also yields a method for computing the group law on the Jacobian of a smooth plane curve of genus g within O(gω) operations in k, which slightly improves in this context the best known complexity O(gω+ε) of Khuri-Makdisi's algorithm.